#include "DataStruct.h"

DataStruct::DataStruct()
{

}

DataStruct::~DataStruct() 
{	
	_NodesData.clear();
	_ElementsData.clear();
	_ElementGroups.clear();
	_NodeGroups.clear();
	_eleCellIdVec.clear();
}

void DataStruct::setCellIdVec()
{
	for (size_t i = 0; i < _ElementsData.size(); i++)
	{
		_eleCellIdVec.push_back(i + 1);
	}
}

DataStruct::DataStruct(const DataStruct& ds)
{
	this->ModelFileName = ds.ModelFileName;
	this->ModelName = ds.ModelName;
	this->ModelDir = ds.ModelDir;
	std::copy(std::begin(ds.bounds), std::end(ds.bounds), std::begin(this->bounds));
	this->_NodesData = ds._NodesData;
	this->initTemp = ds.initTemp;
	this->_ElementsData = ds._ElementsData;
	this->_eleCellIdVec = ds._eleCellIdVec;
	this->vug->DeepCopy(ds.vug);
	this->_mesh_scaling = ds._mesh_scaling;
	this->_mesh_rotation = ds._mesh_rotation;
	this->_mesh_translation = ds._mesh_translation;

	this->_ElementGroups = ds._ElementGroups;
	this->_NodeGroups = ds._NodeGroups;
}
